[Tips & Tricks] #0 Chuyển đổi tiền tệ

Đăng tải 2024-10-15 Cập nhật 2025-03-31

Phần 1: Tạo công thức mẫu

*Bước 1: Chọn Hàm được đặt tên



*Bước 2: Chọn Thêm hàm mới


* Bước 3: Thêm các giá trị như trong hình ảnh


- Tên hàm: VND

- Mô tả về hàm: Chuyển số thành chữ

- Phần giữ đối số không bắt buộc: 

+ giá_trị

+ đơn_vị

- Định nghĩa công thức:

=MAP(giá_trị; LAMBDA(x; IF(x="";; LET(input; x+0; s; SIGN(input); int; INT(ABS(input))&""; dec; IFNA(REGEXEXTRACT(TEXT(input;".##############");",(.*)"););
unit; HSTACK(SEQUENCE(9;1;0);VSTACK("";"mươi";"trăm";"nghìn";"mươi";"trăm";"triệu";"mươi";"trăm"));
number_map; VSTACK("0";"không";"1";"một";"2";"hai";"3";"ba";"4";"bốn";"5";"năm";"6";"sáu";"7";"bảy";"8";"tám";"9";"chín");
replace_map; VSTACK(number_map;"không mươi";"linh";"một mươi";"mười";"mươi một";"mươi mốt";"linh không ";"";"mươi không";"mươi";"mười không";"mười";"mươi năm";"mươi lăm";"( không trăm (nghìn|triệu|$))+";"";"không trăm tỷ";"tỷ";"(tỷ)+";"tỷ");
convert_number; LAMBDA(giá_trị; TRIM(REDUCE(JOIN(" ";MAP(SEQUENCE(LEN(giá_trị)); LAMBDA(i; MID(giá_trị;i;1) &" "& VLOOKUP(MOD(LEN(giá_trị)-i;9);unit;2;0) & IF(MOD(LEN(giá_trị)-i;9)=0;REPT("tỷ";(LEN(giá_trị)-i)/9 ); ))))  ; SEQUENCE(ROWS(replace_map)/2;1;1;2) ; LAMBDA(ini; i; REGEXREPLACE(ini; INDEX(replace_map;i); INDEX(replace_map;i+1))))));
out; TRIM(IF(s=-1;"âm "&convert_number(int);convert_number(int))&
IF(dec="";;", phẩy"&IF(REGEXMATCH(dec;"^0+d$");REDUCE(dec;SEQUENCE(ROWS(number_map)/2;1;1;2) ; LAMBDA(ini; i; REGEXREPLACE(ini; INDEX(number_map;i); " "&INDEX(number_map;i+1)))) ;" "&convert_number(dec)))&IF(đơn_vị="";;" "&đơn_vị));
UPPER(LEFT(out))&RIGHT(out;LEN(out)-1)))))

Phần 2: Ví dụ thường gặp

* Ví dụ 1: Số bình thường không có thập phân, thêm hậu tố là đơn vị tiền tệ.

1.200.000,00

=VND(B20;"đồng")

Kết quả:  Một triệu hai trăm nghìn đồng

* Ví dụ 2: Số có nhiều chữ số sau dấu thập phân

1.200.000,000009

=VND(B26;)

Kết quả: Một triệu hai trăm nghìn, phẩy không không không không không chín 

* Ví dụ 3: Số âm

-1.204.454.009

=VND(B36;"đồng")

Kết quả: Âm một tỷ hai trăm linh bốn triệu bốn trăm năm mươi bốn nghìn không trăm linh chín đồng

Đánh giá bài viết hữu ích?

[ 0 trên tổng số 1 thấy hữu ích ]